import type { TransitionSetting } from "#/config";

import { computed } from "vue";

import { useAppStore } from "@/store/modules/app";

export function useTransitionSetting() {
  const appStore = useAppStore();

  const getEnableTransition = computed(
    () => appStore.getTransitionSetting?.enable,
  );

  const getOpenNProgress = computed(
    () => appStore.getTransitionSetting?.openNProgress,
  );

  const getOpenPageLoading = computed((): boolean => {
    return !!appStore.getTransitionSetting?.openPageLoading;
  });

  const getBasicTransition = computed(
    () => appStore.getTransitionSetting?.basicTransition,
  );

  function setTransitionSetting(transitionSetting: Partial<TransitionSetting>) {
    appStore.setProjectConfig({ transitionSetting });
  }
  return {
    setTransitionSetting,

    getEnableTransition,
    getOpenNProgress,
    getOpenPageLoading,
    getBasicTransition,
  };
}
